<?php
	
class DB_NestedSet_DBLite extends DB_NestedSet {
    // }}}
    // {{{ constructor
    /**
     * Constructor
     *
     * @param mixed $dsn DSN as PEAR dsn URI or dsn Array
     * @param array $params Database column fields which should be returned
     */
    function debug($function,$line)
	{
		if ($this->debug)
		{
			printf("Called %s::%s() on line: [%s]\n", strtolower(get_class($this)),strtolower($function),strtolower($line) );
		}

	}

    function DB_NestedSet_DBLite($dsn, $params = array()) {
        $this->_debugMessage('DB_NestedSet_DBLite($dsn, $params = array())');
        $this->DB_NestedSet($params);
        return TRUE;
    }

    // }}}
    // {{{ destructor
    /**
     * Destructor
     */
    function _DB_NestedSet_DBLite() {
        $this->_debugMessage('_DB_NestedSet_DBLite()');
        $this->_DB_NestedSet();
    }
    // }}}
    // {{{ _db_Connect()
    /**
     * Connects to the db
     *
     * @return object DB The database object
     * @access private
     */
    function & _db_Connect($dsn) {
		return TRUE;
    }
    // }}}
    // {{{ _numRows()
    function _numRows($res) {
        return $res->rowCount();
    }
    // }}}
    // {{{ _isDBError()
    function _isDBError($err) {
        if (!PEAR::isError($err)) {
            return false;
        }
        return true;
    }
    // }}}
    // {{{ _query()
    function _query($sql) {
    	$this->debug(__FUNCTION__."({$sql})",__LINE__);
      return Zend_Registry::get('db')->query($sql);
    }
    // }}}
    // {{{ _quote()
    function _quote($str) {
    	$s = Zend_Registry::get('db')->Quote($str);
        return $s;
    }
    // }}}
    // {{{ _quoteIdentifier()
    function _quoteIdentifier($str) {
    	$s = Zend_Registry::get('db')->quoteIdentifier($str);
        return $s;
    }
    // }}}
    // {{{ _dropSequence()
    function _dropSequence($sequence) {
        return TRUE;
    }
    // }}}
    // {{{ _nextId()
    function _nextId($sequence = '') {
        return Zend_Registry::get('db')->lastInsertId();
    }
    // }}}
    
    // {{{ _getOne()

    /**
     * @param string $sql SQL query
     * @return mixed
     * @access private
     */
    function _getOne($sql)
    {$this->debug(__FUNCTION__."({$sql})",__LINE__);
        return Zend_Registry::get('db')->fetchRow($sql);
    }

    // }}}
    
    // {{{ _getAll()
    function _getAll($sql) {
    	$this->debug(__FUNCTION__."({$sql})",__LINE__);
        return Zend_Registry::get('db')->fetchAll($sql);
    }
    // }}}
    // {{{ _db_Disconnect()
    /**
     * Disconnects from db
     *
     * @return void
     * @access private
     */
    function _db_Disconnect() {
        $this->_debugMessage('_db_Disconnect()');
        return true;
    }
    // }}}
}
?>